package com.vca.service.service;


import com.vca.common.response.OrderPayResultResponse;
import com.vca.common.response.UmsQueryResponse;
import com.vca.common.vo.UmsPayRefundVo;

import java.util.List;
import java.util.Map;

public interface UmsPayService {

    /**
     * @Description: 获取银联商务 全民付 配置
     * @Author: Li
     * @Date: 2022/10/27 11:14
     */
    Map<String, String> getUmsPayConfig();

    /**
     * @param orderNos 主订单号
     * @param ip 下单地址
     * @Description: 银联商务 全民付 下单
     * @Author: Li
     * @Date: 2022/10/20 14:44
     */
    OrderPayResultResponse payment(String language,List<String> orderNos, String ip)throws Exception;

    /**
     * @param orderNos 主订单号
     * @Description: 银联商务 全民付 查看订单状态
     * @Author: Li
     * @Date: 2022/10/28 10:32
     */
    UmsQueryResponse queryPayStatus(String language,List<String> orderNos)throws Exception;

    /**
     * @param refundList 退款集合
     * @Description: 银联商务 全民付 退款
     * @Author: Li
     * @Date: 2022/10/28 11:02
     */
    Boolean refund(List<UmsPayRefundVo> refundList);

    /**
     * @param merOrderNos orderInfo 子订单号
     * @Description: 银联商务 全民付 退款查询
     * @Author: Li
     * @Date: 2022/10/28 11:02
     */
    UmsQueryResponse refundQuery(List<String> merOrderNos)throws Exception;

    /**
     * @param orderNos 主订单号
     * @Description: 银联商务 全民付 订单关闭
     * @Author: Li
     * @Date: 2022/10/28 11:02
     */
    Boolean close(List<String> orderNos)throws Exception;

    /**
     * @Description: 银联商务 全民付 支付结果通知
     * @Author: Li
     * @Date: 2022/10/31 09:45
     */
    Boolean resultInform(Map<String, Object> params)throws Exception;
}
